package com.cj.mobile.iabp.mvp.model.entity;

import java.util.List;

/**
 * 包名： com.cj.mobile.iabp.mvp.model.entity;
 * 对象名： SmallLoanMyLoanResponse
 * 描述：获取我的贷款信息
 * 作者： wly
 * 邮箱：wangliyang206@163.com
 * 创建日期： 2021/8/16
 */

public class SmallLoanMyLoanResponse {

    public SmallLoanMyLoanResponse() {
    }

    /**
     * 未还、还款中、逾期
     */
    public SmallLoanMyLoanResponse(String status, int isSettled, String isSettledMsg, String planTips, double sumRepayingPricipal, String loanTime, int tnr, double currentPrincipalInterest, String currentEndDate, String daysOverdue, double currentPrincipal, double currentInterest, double overInt, String loanPaymTyp) {
        this.status = status;
        this.isSettled = isSettled;
        this.isSettledMsg = isSettledMsg;
        this.planTips = planTips;
        this.sumRepayingPricipal = sumRepayingPricipal;
        this.loanTime = loanTime;
        this.tnr = tnr;
        this.currentPrincipalInterest = currentPrincipalInterest;
        this.currentEndDate = currentEndDate;
        this.daysOverdue = daysOverdue;
        this.currentPrincipal = currentPrincipal;
        this.currentInterest = currentInterest;
        this.overInt = overInt;
        this.loanPaymTyp = loanPaymTyp;
    }

    /**
     * 已还
     */
    public SmallLoanMyLoanResponse(String planTips, String loanPaymTyp, String loanTime, double sumRepayingPricipal, int tnr, int isSettled, String isSettledMsg) {
        this.planTips = planTips;
        this.loanPaymTyp = loanPaymTyp;
        this.loanTime = loanTime;
        this.sumRepayingPricipal = sumRepayingPricipal;
        this.tnr = tnr;
        this.isSettled = isSettled;
        this.isSettledMsg = isSettledMsg;
    }

    /**
     * repayingPlanDetailId : 0ecb6070a29a459082ed5583ff9dd189
     * repayingPlanId : 61854e7beb13419e8da9f6ae626a6704
     * currentPeriod : 1
     * status : 2
     * statusName : 已还
     * overFee : 0
     * repayedInterest : 2583.33
     * endCurrentInterest : 2583.33
     * repayedTotalamount : 302583.33
     * repayedImposeInterest : 0
     * overInt : 0
     * currentPrincipal : 300000
     * currentPrincipalInterest : 302583.33
     * endCurrentPrincipalBalance : 0
     * currentInterest : 2583.33
     * derateFee : 0
     * endCurrentPrincipal : 300000
     * currentEndDate : 2021-08-20
     * repayingDate : null
     * currentFee : 0
     * repayedFee : 0
     * repayedPrincipal : 300000
     * residualRepayment : [{"overFee":0,"repayedInterest":2583.33,"endCurrentInterest":2583.33,"repayedTotalamount":302583.33,"repayedImposeInterest":0,"overInt":0,"currentPrincipal":300000,"repayingPlanDetailId":"0ecb6070a29a459082ed5583ff9dd189","currentPrincipalInterest":302583.33,"endCurrentPrincipalBalance":0,"repayingPlanId":"61854e7beb13419e8da9f6ae626a6704","currentInterest":2583.33,"derateFee":0,"endCurrentPrincipal":300000,"currentEndDate":"2021-08-20","repayingDate":null,"statusName":"已还","currentFee":0,"currentPeriod":1,"repayedFee":0,"status":"2","repayedPrincipal":300000}]
     */

    // 借据id
    private String loanId;
    // 还款计划明细ID
    private String repayingPlanDetailId;
    // 还款计划ID
    private String repayingPlanId;
    // 期数
    private int currentPeriod;
    // 状态id：0未还，1正常部分还款，2已还，3逾期，4停止计息，5已冲正，7期部分还款，8还款中，18冲正处理中 当期本金、利息、罚息、复利、费用如果有未结清的，则该标志为'Y'
    private String status;
    // 状态
    private String statusName;
    // 计划还款日
    private String currentEndDate;
    // 实际还款日期
    private String repayingDate;
    // 应还本金
    private double currentPrincipal;
    // 应还利息
    private double currentInterest;
    // 应还总额本息
    private double currentPrincipalInterest;
    // 截止当期累计应还本金
    private int endCurrentPrincipal;
    // 截至当期本金余额
    private double endCurrentPrincipalBalance;
    // 截止当期累计应还利息
    private double endCurrentInterest;
    // 逾期手续费
    private double overFee;
    // 逾期利息
    private double overInt;
    // 已还本金
    private double repayedPrincipal;
    // 已还利息
    private double repayedInterest;
    // 已还总金额
    private double repayedTotalamount;
    // 已还逾期利息
    private double repayedImposeInterest;
    // 应还费用
    private double currentFee;
    // 已还费用
    private double repayedFee;
    // 减免费用
    private double derateFee;
    // 还款提示信息
    private String planTips;
    // 还款方式：5-等额本金，3-等额本息，2-按固定周期付息、到期还本，0-期末本息一次付清，测试固定用 3
    private String loanPaymTyp;
    // 借款总金额
    private double sumRepayingPricipal;
    // 借款日期
    private String loanTime;
    // 总期数
    private int tnr;
    // 剩余还款计划
    private List<RemainingRepaymentPlan> residualRepayment;
    // 是否结清（0：否；1：是）
    private int isSettled;
    // 已结清显示信息（isSettled字段为1时在页面显示）
    private String isSettledMsg;
    // 逾期天数
    private String daysOverdue;

    public String getDaysOverdue() {
        return daysOverdue;
    }

    public void setDaysOverdue(String daysOverdue) {
        this.daysOverdue = daysOverdue;
    }

    public int getIsSettled() {
        return isSettled;
    }

    public void setIsSettled(int isSettled) {
        this.isSettled = isSettled;
    }

    public String getIsSettledMsg() {
        return isSettledMsg;
    }

    public void setIsSettledMsg(String isSettledMsg) {
        this.isSettledMsg = isSettledMsg;
    }

    public String getLoanId() {
        return loanId;
    }

    public void setLoanId(String loanId) {
        this.loanId = loanId;
    }

    public String getLoanPaymTyp() {
        return loanPaymTyp;
    }

    public void setLoanPaymTyp(String loanPaymTyp) {
        this.loanPaymTyp = loanPaymTyp;
    }

    public double getSumRepayingPricipal() {
        return sumRepayingPricipal;
    }

    public void setSumRepayingPricipal(double sumRepayingPricipal) {
        this.sumRepayingPricipal = sumRepayingPricipal;
    }

    public String getLoanTime() {
        return loanTime;
    }

    public void setLoanTime(String loanTime) {
        this.loanTime = loanTime;
    }

    public int getTnr() {
        return tnr;
    }

    public void setTnr(int tnr) {
        this.tnr = tnr;
    }

    public String getRepayingPlanDetailId() {
        return repayingPlanDetailId;
    }

    public void setRepayingPlanDetailId(String repayingPlanDetailId) {
        this.repayingPlanDetailId = repayingPlanDetailId;
    }

    public String getRepayingPlanId() {
        return repayingPlanId;
    }

    public void setRepayingPlanId(String repayingPlanId) {
        this.repayingPlanId = repayingPlanId;
    }

    public int getCurrentPeriod() {
        return currentPeriod;
    }

    public void setCurrentPeriod(int currentPeriod) {
        this.currentPeriod = currentPeriod;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getStatusName() {
        return statusName;
    }

    public void setStatusName(String statusName) {
        this.statusName = statusName;
    }

    public String getCurrentEndDate() {
        return currentEndDate;
    }

    public void setCurrentEndDate(String currentEndDate) {
        this.currentEndDate = currentEndDate;
    }

    public String getRepayingDate() {
        return repayingDate;
    }

    public void setRepayingDate(String repayingDate) {
        this.repayingDate = repayingDate;
    }

    public double getCurrentPrincipal() {
        return currentPrincipal;
    }

    public void setCurrentPrincipal(double currentPrincipal) {
        this.currentPrincipal = currentPrincipal;
    }

    public double getCurrentInterest() {
        return currentInterest;
    }

    public void setCurrentInterest(double currentInterest) {
        this.currentInterest = currentInterest;
    }

    public double getCurrentPrincipalInterest() {
        return currentPrincipalInterest;
    }

    public void setCurrentPrincipalInterest(double currentPrincipalInterest) {
        this.currentPrincipalInterest = currentPrincipalInterest;
    }

    public int getEndCurrentPrincipal() {
        return endCurrentPrincipal;
    }

    public void setEndCurrentPrincipal(int endCurrentPrincipal) {
        this.endCurrentPrincipal = endCurrentPrincipal;
    }

    public double getEndCurrentPrincipalBalance() {
        return endCurrentPrincipalBalance;
    }

    public void setEndCurrentPrincipalBalance(double endCurrentPrincipalBalance) {
        this.endCurrentPrincipalBalance = endCurrentPrincipalBalance;
    }

    public double getEndCurrentInterest() {
        return endCurrentInterest;
    }

    public void setEndCurrentInterest(double endCurrentInterest) {
        this.endCurrentInterest = endCurrentInterest;
    }

    public double getOverFee() {
        return overFee;
    }

    public void setOverFee(double overFee) {
        this.overFee = overFee;
    }

    public double getOverInt() {
        return overInt;
    }

    public void setOverInt(double overInt) {
        this.overInt = overInt;
    }

    public double getRepayedPrincipal() {
        return repayedPrincipal;
    }

    public void setRepayedPrincipal(double repayedPrincipal) {
        this.repayedPrincipal = repayedPrincipal;
    }

    public double getRepayedInterest() {
        return repayedInterest;
    }

    public void setRepayedInterest(double repayedInterest) {
        this.repayedInterest = repayedInterest;
    }

    public double getRepayedTotalamount() {
        return repayedTotalamount;
    }

    public void setRepayedTotalamount(double repayedTotalamount) {
        this.repayedTotalamount = repayedTotalamount;
    }

    public double getRepayedImposeInterest() {
        return repayedImposeInterest;
    }

    public void setRepayedImposeInterest(double repayedImposeInterest) {
        this.repayedImposeInterest = repayedImposeInterest;
    }

    public double getCurrentFee() {
        return currentFee;
    }

    public void setCurrentFee(double currentFee) {
        this.currentFee = currentFee;
    }

    public double getRepayedFee() {
        return repayedFee;
    }

    public void setRepayedFee(double repayedFee) {
        this.repayedFee = repayedFee;
    }

    public double getDerateFee() {
        return derateFee;
    }

    public void setDerateFee(double derateFee) {
        this.derateFee = derateFee;
    }

    public String getPlanTips() {
        return planTips;
    }

    public void setPlanTips(String planTips) {
        this.planTips = planTips;
    }

    public List<RemainingRepaymentPlan> getResidualRepayment() {
        return residualRepayment;
    }

    public void setResidualRepayment(List<RemainingRepaymentPlan> residualRepayment) {
        this.residualRepayment = residualRepayment;
    }
}
